1 REM *** NEW PROTOCOL *** 2 REM RELEASE 1: JUL 31 1984 3 REM BY STEVE PUNTER 5 REM IMPROVEMENTS BY DAVE CARUANA 6 REM MORE IMPROVEMENTS BY PAT BRUNO 10 IFPEEK(49152)<>169THENLOAD"TERM.C1.5",8,1 15 POKE53280,6:POKE53281,6:POKE646,15:POKE787,0:SYS50842 30 TY$="PSP":BS=255:SYS50951 35 PRINTCHR$(14)"[147]":PRINT"[205]ODIFIED 09/14/84...BY [196]AVE [195]ARUANA" 36 FORX=1TO1000:NEXTX 37 PRINT"[147]":XA=FRE(X) 40 PRINT"[207]PTION: [194]LOCK [211]IZE ="BS" 42 [153]"TAB(TAB(TAB(TAB(TAB(TAB(TAB(":[153]"" 50 [153]" 1 - (null)RANSMIT A ASCILE" 60 [153]" 2 - (null)ECEIVE A ASCILE" 62 [153]" 3 - LENHANGE PEEKLOCK (null)IZE" 63 [153]" 4 - (null)ERMINAL (null)ODE" 65 [153]" 5 - (null)EAD STR$ISK VALRROR LENHANNEL" 67 [153]" 6 - STR$ISK STR$IRECTORY" 68 [153]" 7 - (null)CRATCH A ASCILE" 69 [153]" 8 - STR$(null)(null)(null)CLOSELENAPTURE PEEKUFFER" 70 [153]" 9 - LEN(null)VALATN(null) LENAPTURE PEEKUFFER" 76 [153]"(null)SE "[199](34)"ASC1"[199](34)" KEY TO VAL(null)ATNPEEK(null)VAL LENAPTURE PEEKUFFER" 77 [153]"(null)SE "[199](34)"ASC3"[199](34)" KEY TO STR$RIGHT$(null)ATNPEEK(null)VAL LENAPTURECLOSEPEEKUFFER" 78 [153]"(null)SE LEFT$(null)(null)VAL KEY TO (null)VAL(null)(null)(null)(null) TO THIS (null)ENU!" 79 [161]A$:[139]A$[178]""[167]79 80 [139]A$[178]"1"[167]1000 90 [139]A$[178]"2"[167]2000 92 [139]A$[178]"3"[167]3000 93 [139]A$[178]"4"[167][153]"LOAD(null)ERMINAL (null)ODE:":[137]4000 95 [139]A$[178]"5"[167]301 97 [139]A$[178]"6"[167]500 98 [139]A$[178]"7"[167]700 99 [139]A$[178]"8"[167]800 100 [139]A$[178]"9"[167]900 110 [137]79 300 [161] A$:[139] A$[179][177]" "[167]300 301 [153]"LOAD":[153]:[160]15:[159]15,8,15 302 [132]15,E,E$,E1,E2:[153]E;E$;E1;E2:[160]15 303 [153]:[153]"ATN(null)(null)CLOSE(null)VAL(null)CLOSE(null)(null)CLOSE(null)VAL(null)(null)(null)(null)CLOSE(null)(null)CLOSE(null)VAL(null)(null)" 304 [161]M$:[139]M$[179][177]" "[167]304 306 [137]37 400 [153]"VALNTER ASCRIGHT$(null)VALCLOSE(null)(null)(null)VAL--((null))ROG. OR ((null))EQ.":[153]">ASCRIGHT$(null)VALCLOSE(null)(null)(null)VAL?: CMD" 410 [161]A$:[139]A$[178]""[167]410 420 [139]A$[178]"(null)"[176]A$[178]"P"[167][153]"ON"[166]13)A$:[151]51227,1:I$[178]I$[170]",P"[170]",R":[142] 430 [139]A$[178]"(null)"[176]A$[178]"S"[167][153]"ON"[166]13)A$:[151]51227,2:I$[178]I$[170]",S"[170]",R":[142] 440 [137]410 500 [153]"LOAD"[166]10)"STR$RIGHT$(null)(null)CLOSESTR$RIGHT$(null)VALLEN(null)(null)(null)(null)WAIT" 510 [153]"(null)SE (null)LEFT$RIGHT$ASC(null)WAIT KEY TO (null)ATN(null)(null)VALWAIT" 520 [153]"(null)SE LEN(null)(null)(null)(null)STR$(null)(null)VALWAIT KEY (LEN=) TO ATNPEEK(null)(null)(null)WAIT AND" 530 [153]"RETURN TO (null)VAL(null)(null)" 540 [158]52320:[137]300 700 [143]*[211]CRATCH A [198]ILE* 710 [153]"LOAD(null)AME OF ASCILE TO BE (null)CRATCHED" 715 [153]">"; 720 [141]5000:[139]I$[178]""[167]35 725 I$[178]"S0:"[170]I$ 730 [159]15,8,15,I$ 740 [137]301 800 [143]**PRINT BUFFER** 805 [153]"LOADSTR$(null)(null)(null)CLOSEPEEK(null)ASCASCVAL(null)" 810 [153]"(null)ELECT (null)WAITRINTER OR STR$WAITISK":[153]"> CMD" 815 [161]A$:[139]A$[178]""[167]815 820 [139][168](A$[178]"P"[176]A$[178]"(null)"[176]A$[178]"D"[176]A$[178]"STR$")[167]815 825 [139]A$[178]"P"[176]A$[178]"(null)"[167][153]"ON"A$:[137]840 830 [139]A$[178]"D"[176]A$[178]"STR$"[167][153]"ON"A$:[137]855 840 [153]"(null)(null)RIGHT$(null)(null)VAL(null)WAIT (null)ODE (null)ELECTED.":[153]"(null)SE (null)LEFT$RIGHT$ASC(null)WAIT (null)EY TO (null)ATN(null)(null)VAL 845 PRINT"[213]SE [204][207][199][207][146] ([195]=) [203]EY TO [211][212][207][208] AND [210]ETURN TO [205][197][206][213] 850 [158]51034:[137]37 855 [153]"STR$RIGHT$(null)(null)WAIT (null)ODE (null)ELECTED.":[153]"(null)AVE PEEKUFFER TO STR$ISK AS (null)VAL(null)(null)VAL(null)(null)RIGHT$ATN(null)CLOSEASCILE." 860 [153]"(null)SE (null)(null)CHR$(null)WAIT (LEN=) (null)EY TO ATNPEEK(null)(null)(null) AND (null)ETURN TO (null)VAL(null)(null). 865 PRINT"[198]ILE [206]AME?":PRINT">";:GOSUB5000:IFI$=""THEN37 870 I$=I$+",S,W":OPEN2,8,2,I$:SYS52224 875 CLOSE2:GOTO37 900 REM**CLEAR CAPTURE BUFFER** 910 SYS51162:GOTO37 1000 PRINT"[147][208]ROGRAM [206]AME? ";:GOSUB5000:IFI$=""THEN4000 1005 GOSUB400 1010 OPEN2,8,0,I$:PRINT 1015 PRINT:PRINT"[213]SE [195][207][205][205][207][196][207][210][197][160][203][197][217] TO [193][194][207][210][212][160][213]PLOAD" 1020 SYS49173:SYS49164:IFPEEK(512)=1THENCLOSE2:GOTO4000 1030 SYS49173:POKE51224,BS:SYS49158:CLOSE2:GOTO4000 2000 POKE50831,0:PRINT"[147][208][210][207][199][210][193][205][160][206][193][205][197]? ";:GOSUB5000:IFI$=""THEN4000 2005 PRINT:PRINT"[213]SE [195][207][205][205][207][196][207][210][197][160][203][197][217] TO [193][194][207][210][212][160][196]OWNLOAD" 2010 SYS49173:SYS49161:IFPEEK(512)=1THEN4000 2020 T$=","+MID$(TY$,PEEK(51227),1)+",W" 2030 OPEN2,8,2,"0:"+I$+T$:FORX=1TO1300:NEXTX:PRINT:SYS61310 2040 SYS49173:SYS49155:CLOSE2:FORX=1TO1000:POKE668,PEEK(667) 2045 IFPEEK(50831)>0THENPRINT:PRINTPEEK(50831)"BLOCKS....[196][207][206][197]!" 2050 GOTO4000 3000 PRINT"[147][194]LOCK [211]IZE? ";:GOSUB5000:IFI$=""THEN37 3010 BS=VAL(I$):IFBS<40THENBS=40 3020 IFBS>255THENBS=255 3030 GOTO37 4000 PRINT 4010 CLOSE5:OPEN5,2,0,CHR$(6):GET#5,A$:POKE665,75:POKE55,128:POKE56,24 4015 BS=255:TY$="PSP":SYS49167:GOTO37 5000 I$="" 5010 PRINT" [146][157]"; 5020 GETA$:IFA$=""THEN5020 5030 IFA$=CHR$(13)THEN5100 5040 IFA$=CHR$(20)THEN5080 5050 IFLEN(A$)>20THEN5020 5060 IF(ASC(A$)AND127)<32THEN5020 5070 PRINTA$;:I$=I$+A$:GOTO5010 5080 IFLEN(I$)=0THEN5020 5090 PRINT" [157][157]";:I$=LEFT$(I$,LEN(I$)-1):GOTO5010 5100 PRINT" ":RETURN